Bundle node modules on --target=node/electron #796
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This adds the option
--bundle-node-modules
to force bundling all files even on--target=node
. This does not work with all modules , but should work for most simpler cases. It will break apart if a module try to do filesystem operations or depend on some internal files. Things such aspuppeteer
orlsmod
will certainly fail.This is ready to merge (please review!).
In a followup pull request I'll bring support for native node modules. Then we can start checking what packages don't build and what can be done for them.
This still isn't capable of bundling Parcel itself, but eventually it should be.
The major change is a rewrite of the Resolver, that now have to conditionally handle
pkg.browser
(the old resolver had no way to disable that). The other files touched are minimal.